import java.util.ArrayList;
import java.util.Scanner;

/**
 * @Description
 */

public class Test {
    public static  ArrayList<ArrayList<Integer>> generate(int numRows){
        ArrayList<ArrayList<Integer>> ret = new ArrayList<>();
        ArrayList<Integer> List0 = new ArrayList<>();
        //创建第一行元素
        List0.add(1);
        ret.add(List0);
        for (int i = 1; i < numRows; i++) {
            ArrayList<Integer> tmpList = new ArrayList<>();
            //创建第一行的元素
            tmpList.add(1);
            ArrayList<Integer> prevRow = ret.get(i-1);
            for (int j = 1; j < i; j++) {
                //创建中间的元素
                int val1 = prevRow.get(j);
                int val2 = prevRow.get(j-1);
                int val = val1+val2;
                tmpList.add(val);
                //创建最后一行元素

            }
            tmpList.add(1);
            ret.add(tmpList);
        }
        return ret;
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int pos = sc.nextInt();
        ArrayList<ArrayList<Integer>> ret = generate(pos);
        System.out.println(ret);

    }
}
